#include <iostream>
#include <stdio.h>
#include <vector>
#include <queue>
#include <string.h>
typedef long long LL;
const int MAXN=207;
bool _in[MAXN];
int dist[MAXN][MAXN];
std::vector<int> M[MAXN];
LL n,m,k,r;
using std::cout;
using std::cin;
using std::endl;
void SPFA() {
    std::queue<int> q;
    q.push(0);
    memset(_in, 0, sizeof(_in));
    _in[0]=true;
    int pre,nex;
    while (!q.empty()) {
        pre=q.front(); q.pop();
        _in[pre]=false;
        int len=M[pre].size();
        for (int i=0; i<len; ++i) {
            nex=M[pre][i];
            if (nex>=n) {
                bool flag=false;
                for (int j=0; j<k; ++j) {
                    if (dist[j][pre]+1 < dist[j+1][nex]) {
                        dist[j+1][nex] = dist[j][pre] + 1;
                        flag = true;
                    }
                }
                if (flag && !_in[nex]) {
                    q.push(nex);
                    _in[nex]=true;
                }
            }
            else {
                bool flag=false;
                for (int j=0; j<=k; ++j) {
                    if (dist[j][pre]+1 < dist[j][nex]) {
                        dist[j][nex] = dist[j][pre] + 1;
                        flag = true;
                    }
                }
                if (flag && !_in[nex]) {
                    q.push(nex);
                    _in[nex]=true;
                }
            }
        }
    }
}
LL p_x[MAXN], p_y[MAXN];
int main() {
    #ifdef hai
    freopen("in.txt", "r", stdin);
    #endif
    scanf("%lld%lld%lld%lld", &n, &m, &k, &r);
    LL x,y;
    for (int i=0; i<n+m; ++i) {
        scanf("%lld%lld", &x, &y);
        p_x[i]=x; p_y[i]=y;
        for (int j=0; j<i; ++j) {
            LL d_x=p_x[j]-x, d_y=p_y[j]-y;
            if (d_x*d_x + d_y*d_y <= r*r) M[j].push_back(i), M[i].push_back(j);
        }
    }
    memset(dist, 0x3f, sizeof(dist));
    dist[0][0]=0;
    SPFA();
    int res=dist[0][1];
    for (int i=1; i<=k; ++i) if(dist[i][1] < res) res = dist[i][1];
    printf("%d\n", res-1);
    return 0;
}
